/*
 *  BC_Const.h
 *  CocOth
 *
 *  Created by BrunoCausse on 06/11/10.
 *  Copyright 2010-2013 poulailler cie. All rights reserved.
 *
 */

#ifndef BC_CONST_H
#define BC_CONST_H


#define DEBUG NO

/*! size of the board */
#define BOARD_SIZE 91

/*! maximal number of moves */
#define MAX_MOVE 32

/*! maximal number of squares flipped + 1 */
#define MAX_FLIP 20

/*! undefined score */
static const float UNDEFSCORE = -22222.2f;

/*! max/min score */
static const short MAXSCORE = +12800;
static const short MINSCORE = -12800;

/*! undefined score */
static const float INTERRUPT  = 32000.0f;

/*! undefined time */
static const float UNDEFTIME  = -1.0f;


/*! constants for square coordinates */
enum {
	NOMOVE = 0, PASS,
	A1 = 10, B1, C1, D1, E1, F1, G1, H1,
	A2 = 19, B2, C2, D2, E2, F2, G2, H2,
	A3 = 28, B3, C3, D3, E3, F3, G3, H3,
	A4 = 37, B4, C4, D4, E4, F4, G4, H4,
	A5 = 46, B5, C5, D5, E5, F5, G5, H5,
	A6 = 55, B6, C6, D6, E6, F6, G6, H6,
	A7 = 64, B7, C7, D7, E7, F7, G7, H7,
	A8 = 73, B8, C8, D8, E8, F8, G8, H8,	
};

/*! flipping directions */
enum {
	NW = -10,
	N  =  -9,
	NE =  -8,
	W  =  -1,
	E  =  +1,
	SW =  +8,
	S  =  +9,
	SE = +10
};


/*! constants for colors */
enum {
	BLACK = 0,
	WHITE,
	EMPTY,
	OFF_SIDE
};

#endif
